using System;
using System.Collections;

namespace Com.CMS263.PO
{
	#region Brand

	/// <summary>
	/// Brand object for NHibernate mapped table 'Brand'.
	/// </summary>
	public class Brand
	{
		#region Member Variables
		
		protected int _id;
		protected string _brandName;
		protected string _brandLogo;
		protected string _brandDesc;
		protected string _siteUrl;
		protected int _sortOrder;
		protected bool _isShow;

		#endregion

		#region Constructors

		public Brand() { }

		public Brand( string brandName, string brandLogo, string brandDesc, string siteUrl, int sortOrder, bool isShow )
		{
			this._brandName = brandName;
			this._brandLogo = brandLogo;
			this._brandDesc = brandDesc;
			this._siteUrl = siteUrl;
			this._sortOrder = sortOrder;
			this._isShow = isShow;
		}

		#endregion

		#region Public Properties

		public virtual int Id
		{
			get {return _id;}
			set {_id = value;}
		}

		public  virtual string BrandName
		{
			get { return _brandName; }
			set
			{
				if ( value != null && value.Length > 100)
					throw new ArgumentOutOfRangeException("Invalid value for BrandName", value, value.ToString());
				_brandName = value;
			}
		}

		public  virtual string BrandLogo
		{
			get { return _brandLogo; }
			set
			{
				if ( value != null && value.Length > 100)
					throw new ArgumentOutOfRangeException("Invalid value for BrandLogo", value, value.ToString());
				_brandLogo = value;
			}
		}

		public  virtual string BrandDesc
		{
			get { return _brandDesc; }
			set
			{
				if ( value != null && value.Length > 500)
					throw new ArgumentOutOfRangeException("Invalid value for BrandDesc", value, value.ToString());
				_brandDesc = value;
			}
		}

		public  virtual string SiteUrl
		{
			get { return _siteUrl; }
			set
			{
				if ( value != null && value.Length > 100)
					throw new ArgumentOutOfRangeException("Invalid value for SiteUrl", value, value.ToString());
				_siteUrl = value;
			}
		}

		public  virtual int SortOrder
		{
			get { return _sortOrder; }
			set { _sortOrder = value; }
		}

		public  virtual bool IsShow
		{
			get { return _isShow; }
			set { _isShow = value; }
		}

		

		#endregion
	}
	#endregion
}